An information processing apparatus such as a personal computer is ordinarily provided with a USB (Universal Serial Bus) interface, and a peripheral device compliant with USB interface specifications can be connected to the information processing apparatus and used.
Herein, a peripheral device compliant with USB interface specifications that is used by being directly connected to a USB interface provided in an information processing apparatus such as a personal computer is referred to as a direct USB device.
The above information processing apparatus such as a personal computer, other than the above USB interface, is ordinarily provided with a LAN interface whereby it is possible to communicate with another information processing apparatus that has been connected to a network such as a LAN (Local Area Network).
For example, JP 2007-219711A discloses a scheme in which by using a LAN interface, other than the above direct USB device, it is possible to use a peripheral device compliant with USB interface specifications that is connected to a server that has been connected to a LAN. JP 2007-219711A also describes a remote device control program in a scheme in which a USB device server has been deployed.
In a scheme in which an information processing apparatus such as a personal computer (referred to below as a client) that is connected to a network uses, via a network, a peripheral device compliant with USB interface specifications that connects to a server that has been connected to this network, herein, the peripheral device compliant with USB interface specifications that connects to this server is referred to as a remote USB device, viewed from a client that uses this peripheral device.
A USB device server that has been connected to a LAN enables a client (personal computer) that has been connected to a LAN to use a remote USB device that has been connected to this USB device server.
In this case, from the perspective of a client that has been connected to the LAN, a remote USB device behaves as if it is connected to the personal computer of the client itself. Therefore, an application loaded in the client, without being particularly aware of the network, is able to use that remote USB device in the same manner as a direct USB device.
However, in a system employing the above USB device server, in a client (personal computer) that uses a remote USB device, because this remote USB device behaves in the same manner as if a direct USB device that has been connected to the personal computer of the client itself, the following occurs.
When any of a plurality of units of application software (referred to below as applications) loaded in the client that uses a remote USB device requests connection to the remote USB device, the application is connected to the remote USB device and thus can use the remote USB device, and also, other applications loaded in the client can use this remote USB device.
However, when any of the plurality of applications using a remote USB device requests disconnection from the remote USB device, the remote USB device is disconnected, so another application that is using this remote USB device is also disconnected from the remote USB device even if currently using the remote USB device.
For example, when a client that uses a remote USB device has loaded two applications, specifically an application 1 and an application 2, even if there was a connection instruction from the application 1, the remote USB device can be used from the application 2, and when there is a disconnection instruction from the application 2, the application 1 also is then disconnected.
When a remote USB device is being used, for example, during data transmission employing communications with the remote USB device via a LAN, the transmission path is suddenly severed, so it becomes impossible to guarantee communications quality.